

// Pull in the GoogleTest framework header.
#include "gtest/gtest.h"


// The WEGO_EXPECT_* macros generate nonfatal failures when they fail, which don't abort the current function.
#define WEGO_EXPECT_TRUE(x)      EXPECT_TRUE((x))
#define WEGO_EXPECT_FALSE(x)     EXPECT_FALSE((x))
#define WEGO_EXPECT_EQ(x,y)      EXPECT_EQ((x),(y))
#define WEGO_EXPECT_NE(x,y)      EXPECT_NE((x),(y))
#define WEGO_EXPECT_LT(x,y)      EXPECT_LT((x),(y))
#define WEGO_EXPECT_LE(x,y)      EXPECT_LE((x),(y))
#define WEGO_EXPECT_GT(x,y)      EXPECT_GT((x),(y))
#define WEGO_EXPECT_GE(x,y)      EXPECT_GE((x),(y))
#define WEGO_EXPECT_STREQ(x,y)   EXPECT_STREQ((x),(y))

// The WEGO_ASSERT_* macros generate generate fatal failures when they fail, and abort the current function.
#define WEGO_ASSERT_TRUE(x)      ASSERT_TRUE((x))
#define WEGO_ASSERT_FALSE(x)     ASSERT_FALSE((x))
#define WEGO_ASSERT_EQ(x,y)      ASSERT_EQ((x),(y))
#define WEGO_ASSERT_NE(x,y)      ASSERT_NE((x),(y))
#define WEGO_ASSERT_LT(x,y)      ASSERT_LT((x),(y))
#define WEGO_ASSERT_LE(x,y)      ASSERT_LE((x),(y))
#define WEGO_ASSERT_GT(x,y)      ASSERT_GT((x),(y))
#define WEGO_ASSERT_GE(x,y)      ASSERT_GE((x),(y))
#define WEGO_ASSERT_STREQ(x,y)   ASSERT_STREQ((x),(y))

#define WEGO_EXPECT_FLOAT_EQ(x,y)  EXPECT_FLOAT_EQ((x),(y))
#define WEGO_EXPECT_DOUBLE_EQ(x,y) EXPECT_DOUBLE_EQ((x),(y))
